Circuit designs can be created in various ways. For example, circuits may be designed using a hardware description language (HDL) specification or a graphical design environment. Designing circuits using a graphical design environment may be beneficial because Intellectual Property (IP) blocks may be used where an IP block represents previously designed modules and/or interfaces of an HDL specification.
In developing a circuit design using an HDL, a circuit designer relies on HDL expertise and a library of previously developed HDL modules, which are sometimes referred to as intellectual property (IP) blocks to be identified and configured in the circuit design. The circuit designer may also identify and configure various bus-interface protocols for use in the implemented circuit. For example, tens of thousands of lines of HDL code may be written for a circuit design. As the electronic system matures, maintenance and enhancements of the RTL design may prove difficult because the corresponding HDL code will be of large volume. Manually examining such a large codebase to understand the RTL design, and then fixing any errors or adding new functionality by writing new HDL code is error prone and unwieldy. Also such a design environment precludes the use of any smart software agent that may automate aspects of the circuit design process.